Cette fonctionnalité vous permet de remplacer (entre autres) le message de type 404 (Not found) par un texte personnalisé ou par une redirection sur une autre URL (locale ou externe).
On utilise pour cela la commande "ErrorDocument". Un exemple d'utilisation :
ErrorDocument 404 /monfichier404.html ErrorDocument 401 http://www.monautresite.fr ErrorDocument 403 /erreur/accesrefuse.php
Lors d'une erreur 404 on affiche le fichier "monfichier404.html" situé dans la racine du serveur.
Une erreur 401 redirigera vers le site http://www.monautresite.fr .
L'erreur 403 conduit à afficher la page "accesrefuse.php" du dossier "/erreur/".
Ces commandes doivent se trouver dans un fichier .htaccess installé dans le répertoire dont vous souhaitez rediriger les messages d'erreurs (il sagit généralement de la racine de votre site web mais pas obligatoirement). En effet, il peut exister plusieurs fichiers .htaccess sur un même serveur, simplement dans des répertoires differents. Les répertoires en aval d'un autre protégé par un .htaccess bénéficient de la règle d'hérédité.
Attention, la moindre erreur dans votre .htaccess causera une erreur serveur 500 et empêchera tout accès à votre site ou à la branche concernée par le .htaccess.
Vérifiez donc bien que tout marche bien après chaque modification de ce fichier.
Si vous voulez créez un tel fichier, créez un fichier texte simple (par exemple temp.txt) avec notepad, déposez-le sur votre serveur et ENSUITE renommez-le en .htaccess .
Vérifiez bien la présence du point juste avant htaccess.
Remarquez que htaccess n'est pas une extension (comme doc, txt ou html) mais que .htaccess est son nom complet. Le point initial vient du monde Unix. Vous pourrez aussi constater qu'ils n'apparaissent pas lors du listage des répertoires. Le point initial signifie qu'ils sont cachés.
Il s'agit de stocker une liste d'utilisateurs et leur mot de passe correspondant dans un fichier.
Ce fichier ressemble à cela par exemple :
martiN:PASSWORD Jean:SecR3t sophie:cache
Par commodité on appellera par la suite ce fichier pass.txt .
Faîtes attention à la casse pour le nom de l'utilisateur et pour le mot de passe.
Assurez-vous de ne pas inserer d'espace ou de tabulations dans ce fichier.
Vous DEVEZ transférer ce fichier en mode ASCII pour assurer la conversion des caractères "fin de ligne".
Vous pouvez stocker ce fichier dans n'importe quel répertoire de votre site. Il suffira simplement de le déclarer dans le fichier .htaccess que vous allez créer.
Pour limiter l'accès aux utilisateurs déclarés dans le fichier pass.txt, vous devez créer un fichier ".htaccess" dans le répertoire que vous souhaitez limiter.
Sous plate-forme Microsoft Windows, il n'est pas très facile de créer directement un fichier portant le nom .htaccess.
Créer avec un autre nom, transférez-le sur le serveur, puis renommez-le.
Le nom du fichier est bien .htaccess et le point est le premier caractère du nom de fichier.
Vous créez un fichier toto.txt dans lequel vous saisissez les paramètres de votre futur fichier .htaccess Vous le copiez sur le serveur. Avec votre logiciel FTP renommez le en .htaccess
PerlSetVar AuthFile liste/pass.txt AuthName "Acces Restreint" AuthType Basic require valid-user
La commande PerlSetVar AuthFile désigne le chemin d'accès à la table des utilisateurs.
Dans ce cas, le fichier pass.txt contenant les noms d'utilisateurs avec leur mots de passes est dans le répertoire /liste/ situé à la racine du site.
La position du fichier est absolue à la racine de votre site Web. Donc si vous avez stocké votre table d'utilisateurs dans le répertoire /mes/password/ sous le nom cestmoi.txt, vous devez modifier la directive PerlSetVar AuthFile en conséquence : soit
PerlSetVar AuthFile mes/password/cestmoi.txt
La commande AuthName "Acces Restreint" indiquera simplement Acces Restreint dans la petite fenêtre de login. Ce texte peut être changé sans aucune concequences.
La commande require valid-user permet à tous les utilisateurs valides de télécharger les fichiers du répertoire. Vous pouvez aussi utiliser require user martinD sophiepour autoriser uniquement les utilisateurs martinD et sophie. L'utilisateur Jean ne pourra pas l'acceder aux fichiers.
Il est aussi très fortement conseillé de protéger sa liste de mots de passes en la nommant autrement: personellement je l'appellerais ".htpasswd". Le choix d'un nom de fichier commençant par un point cachera le fichier.
Vous pouvez aussi la stockez dans un sous-répertoire different de votre site Web que vous protégerez en créant un fichier .htaccess dans ce sous répertoire, contenant uniquement la ligne :
deny from all
Les messages d'erreurs les plus courants vus par un visiteur d'un site sont décritent plus en détails dans les liens suivants:
ERREUR 401 ( identification): Des pages protégée par des restrictions d'accès.Au besoin, voici une liste exhaustive des codes HTTP (codes d'erreur)... En français:
En préambule, j'attire l'attention sur le fait qu'il ne sagit que de présenter quelques fonctions disponibles d'Apache qui fonctionne sur les serveurs de Free. La liste est loin d'être exhaustive.
Cette option permet l'indexation du contenu d'un répertoire.
Elle peut prendre 2 valeurs:
Celle-ci empêche l'indexation du contenu d'un répertoire : il apparaitra comme vide.Option -IndexesEt celle-ci l'autorise lorsque il a été désactivé:
Option +Indexes
Par défaut, l'indexation des répertoires est autorisé. Bien évidemment, la règle de l'hérédité relative aux .htaccess est toujours d'actualité.
Cette option permet de filter l'affichage du contenu d'un répertoire.
Celle-ci masque le contenu d'un répertoire : il apparaitra comme vide.IndexIgnore *Celle-ci empèche le listage des fichiers .gif et .zip d'un répertoire :
IndexIgnore *.gif *.zip
Des appels répétés de la directive IndexIgnore ajoutent des éléments à la liste, plutôt que remplacer la liste de fichiers à ignorer.
© 2006-2008 frangando.free.fr